1. Technical Field
The present invention relates to control of acceleration/deceleration of a motor and particularly relates to generation of an acceleration/deceleration curve to make it possible to suppress vibration given to a subject of control such as a robot manipulator when a command to move by a short distance is given to the subject of control.
2. Description of the Related Art
Heretofore, a manipulator works by repeating a movement operation wherein an end effector is moved from a taught point to the next taught point as designated by a user. In the movement operation from a taught point to another taught point, acceleration/deceleration control is applied over a servomotor actuating a joint of the manipulator. Hence, the end effector is accelerated on the basis of a predetermined acceleration/deceleration curve until the effector reaches a predetermined maximum velocity. After a predetermined constant velocity period, the end effector is decelerated on the basis of the predetermined acceleration/deceleration curve in the same manner as in the case of acceleration. Hence, the operation of stopping the end effector at the next taught point is achieved. In such servomotor acceleration/deceleration control, a trapezoidal acceleration/deceleration curve may be used. In such an acceleration/deceleration curve, however, acceleration becomes discontinuous at a velocity switching point when acceleration starts, ends, etc. Both impact and vibration of the manipulator become large at such a velocity switching point. To avoid such impact and vibration, therefore, there has been proposed acceleration/deceleration control in which such an acceleration/deceleration curve is changed smoothly over the whole region from the start point through the maximum velocity to the end point to thereby ensure continuity of acceleration.
Such acceleration/deceleration control, however, has a problem that vibration of the manipulator is intensified when a commanded quantity of motor movement is smaller than a minimum quantity of movement which is required to allow the movement of the motor to reach predetermined operating velocity and operating acceleration (hereinafter defined as xe2x80x9ca small movementxe2x80x9d) . To solve the problem of vibration in such small movement, Japanese Patent Application No. 2-22559 has proposed a method in which: simulation is made in advance to generate a correction data table; optimum maximum velocity, acceleration time and deceleration time are determined on the basis of the correction table; and a velocity curve is corrected on the basis of these values to thereby suppress vibration.
Data in the correction table are, however, obtained as results of simulation and are not determined on the basis of predetermined algorithm. Hence, trial and error must be repeated for generating such a correction table.
The present invention is designed upon such circumstances as described above, and a first object thereof is to provide a method for determining a maximum velocity and a maximum acceleration so as to generate an acceleration/deceleration curve by which vibration given to a mechanical system can be suppressed when a quantity of movement corresponding to the small movement, as described above, is commanded in acceleration/deceleration control with acceleration kept continuous. A second object is to provide an acceleration/deceleration generating method for generating an acceleration/deceleration curve on the basis of the maximum velocity and maximum acceleration determined by the aforementioned maximum velocity and maximum acceleration determining method. A third object is to provide an acceleration/deceleration control method using the aforementioned maximum velocity and maximum acceleration determining method. A fourth object is to provide an acceleration/deceleration control apparatus using the aforementioned acceleration/deceleration control method. A fifth object is to provide a motor control apparatus using the aforementioned acceleration/deceleration control method. The above objects are achieved as described in the following enumerated paragraphs.
(1) According to an aspect of the present invention, a motor velocity/acceleration determining method is configured as follows. In acceleration/deceleration control of changing acceleration continuously to thereby make acceleration or deceleration, there is provided a method of determining velocity and acceleration of a motor for generating an acceleration/deceleration curve of the motor when a commanded quantity of motor movement is smaller than a minimum quantity of motor movement required to reach a predetermined maximum velocity and a predetermined maximum acceleration. The method includes a step of determining a maximum operating velocity and a maximum operating acceleration for performing a designated jerk control in accordance with the commanded quantity of motor movement so as to make the maximum absolute value of a jerk parameter value (the jerk parameter, or jerk value, is here defined as the differential value of acceleration) not larger than a predetermined value or equal to the predetermined value.
(2) According to another aspect of the present invention, a motor velocity/acceleration determining method is configured as follows. In acceleration/deceleration control for changing acceleration continuously, there is provided a method of determining velocity and acceleration of a motor for generating an acceleration/deceleration curve of the motor when a commanded quantity of motor movement is smaller than a minimum quantity required to reach a predetermined maximum velocity and a predetermined maximum acceleration. The method includes a step of determining a maximum operating velocity and a maximum operating acceleration by selecting and performing one of two processes in accordance with the commanded quantity of motor movement. The two processes consist of a first process of determining a maximum operating velocity for performing a designated acceleration control in accordance with the commanded quantity of motor movement while adopting the predetermined maximum acceleration as a maximum operating acceleration for the control, and consist of a second process of determining a maximum operating velocity and a maximum operating acceleration for performing a designated jerk control in accordance with the commanded quantity of motor movement so as to make the maximum absolute value of the jerk value, which is the differential value of acceleration, not larger than a predetermined value or equal to the predetermined value.
(3) According to a further aspect of the present invention, a motor velocity/acceleration determining method is such that, in the above paragraph (2), the predetermined value in the designated jerk control is the maximum absolute value of jerk value in the designated acceleration control at a switching point where the first and second processes are switched.
(4) According to a still further aspect of the present invention, a motor velocity/acceleration determining method is such that, in the above paragraph (3), the maximum absolute value of jerk value at the switching point is specified on the basis of the maximum operating velocity which is required to obtain the commanded quantity of motor movement with the predetermined maximum acceleration.
(5) According to another aspect of the present invention, a motor velocity/acceleration determining method is such that, in any one of the above paragraphs (3) and (4), setting of the switching point can be changed at user""s option.
(6) According to a further aspect of the present invention, a motor velocity/acceleration determining method is such that, in any one of the above paragraphs (3) to (5), the switching point is designated by a nondimensional parameter.
(7) According to a still further aspect of the present invention, a motor velocity/acceleration determining method is such that, in the above paragraph (6), the parameter is set to be a ratio with respect to the minimum quantity of motor movement.
(8) According to another aspect of the present invention, a motor velocity/acceleration determining method is such that, in any one of the above paragraph (1) to (7), the designated jerk control is provided for performing positioning of a subject of control while suppressing vibration of the subject.
(9) According to an aspect of the present invention, an acceleration/deceleration curve generating method is such that the acceleration/deceleration curve is generated on the basis of the maximum velocity and the maximum acceleration obtained by the motor velocity and acceleration determining method defined in any one of the above paragraphs (1) to (8).
(10) According to another aspect of the present invention, an acceleration/deceleration controlling method is configured as follows. There is provided a method for performing acceleration/deceleration control of a motor to make the motor accelerate/decelerate by changing acceleration of the motor continuously. The method includes a step of performing acceleration/deceleration control on the basis of a designated jerk control so as to make the maximum absolute value of the jerk value, which is the differential value of acceleration, not larger than or constantly equal to a predetermined value when a commanded quantity of motor movement is smaller than a minimum quantity of motor movement required to allow the movement of the motor to reach a predetermined maximum velocity and a predetermined maximum acceleration.
(11) According to a further aspect of the present invention, an acceleration/deceleration controlling method is configured as follows. There is provided a method for performing acceleration/deceleration control of a motor to make the motor accelerate/decelerate by changing acceleration of the motor continuously. The method includes a step of selecting and performing one of two control processes in accordance with a commanded quantity of motor movement when the commanded quantity of motor movement is smaller than a minimum quantity of motor movement required to allow the motor to reach a predetermined maximum velocity and a predetermined maximum acceleration. The two control processes consist of a designated acceleration control process and a designated jerk control process. The designated acceleration control process controlling the motor so as to make the maximum operating acceleration in an accelerating/decelerating operation equal to the predetermined maximum acceleration. The designated jerk control process controlling the motor so as to make the maximum absolute value of the jerk value, which is the differential value of acceleration, not larger than or constantly equal to a predetermined value.
(12) According to a still further aspect of the present invention, an acceleration/deceleration controlling method is configured such that, in the above paragraph (11), the predetermined value in the designated jerk control is the maximum absolute value of jerk value at a switching point where the acceleration control process and the jerk control process are switched.
(13) According to another aspect of the present invention, an acceleration/deceleration controlling method is such that, in the above paragraph (12), the maximum absolute value of jerk value at the switching point is specified on the basis of a maximum operating velocity which is required to obtain the commanded quantity of motor movement with the predetermined maximum acceleration.
(14) According to a further aspect of the present invention, an acceleration/deceleration controlling method is such that in any one of the above paragraphs (12) and (13), setting of the switching point can be changed at user""s option.
(15) According to a still further aspect of the present invention, an acceleration/deceleration controlling method is such that, in any one of the above paragraphs (12) to (14), the switching point is designated by a nondimensional parameter.
(16) According to another aspect of the present invention, an acceleration/deceleration controlling method is such that, in the above paragraph (15), the parameter is set to be a ratio with respect to the minimum quantity of motor movement.
(17) According to a further aspect of the present invention, an acceleration/deceleration controlling method is such that, in any one of the above paragraphs (10) to (16), the designated jerk control is provided for performing positioning of a subject of control while suppressing vibration of the subject.
(18) According to an aspect of the present invention, an acceleration/deceleration control apparatus is as follows. There is provided an acceleration/deceleration control apparatus for performing acceleration/deceleration control of a motor to make the motor accelerate/decelerate by changing acceleration of the motor continuously. The apparatus includes a velocity and acceleration determining means for determining a new maximum velocity and a new maximum acceleration for performing a designated jerk control so as to make the maximum absolute value of the jerk value, which is the differential value of acceleration, not larger than or constantly equal to a predetermined value when a commanded quantity of motor movement is smaller than a minimum quantity of motor movement required to reach a predetermined maximum velocity and a predetermined maximum acceleration. The apparatus also includes a reference value generating means for generating and outputting a position reference value on the basis of the new maximum velocity and new maximum acceleration obtained by the velocity and acceleration determining means.
(19) According to another aspect of the present invention, an acceleration/deceleration control apparatus is as follows. There is provided an acceleration/deceleration control apparatus for performing acceleration/deceleration control of a motor to make the motor accelerate/decelerate by changing acceleration of the motor continuously. The apparatus includes a velocity and acceleration determining means for determining a maximum operating velocity and a maximum operating acceleration by selecting and performing one of two processes in accordance with a commanded quantity of motor movement when the commanded quantity of motor movement is smaller than a minimum quantity of motor movement required to reach a predetermined maximum velocity and a predetermined maximum acceleration. The two processes consist of a first process for newly determining a first maximum operating velocity for performing a designated acceleration control on the basis of the commanded quantity of motor movement so as to make a first maximum operating acceleration in an accelerating/decelerating operation equal to the predetermined maximum acceleration, and consist of a second process for newly determining a second maximum operating velocity and a second maximum operating acceleration for performing a designated jerk control on the basis of the commanded quantity of motor movement so as to make the maximum absolute value of jerk value, which is the differential value of acceleration, not larger than or constantly equal to a predetermined value. The apparatus also includes a reference value generating means for generating and outputting a position reference value on the basis of the maximum operating velocity and maximum operating acceleration obtained by the velocity and acceleration determining means.
(20) According to a further aspect of the present invention, an acceleration/deceleration control apparatus is such that, in the above paragraph (19), the predetermined value in the designated jerk control is the maximum absolute value of jerk value in the designated acceleration control at a switching point where the first and second processes are switched.
(21) According to a still further aspect of the present invention, an acceleration/deceleration controlling apparatus is such that, in the above paragraph (20), the maximum absolute value of jerk value at the switching point is specified on the basis of the first maximum operating velocity, which is required to obtain the commanded quantity of motor movement with the predetermined maximum acceleration and on the basis of the predetermined maximum acceleration.
(22) According to another aspect of the present invention, an acceleration/deceleration controlling apparatus is such that, in any one of the above paragraphs (20) and (21), the acceleration/deceleration controlling apparatus further comprises a setting means for setting and changing the switching point.
(23) According to a further aspect of the present invention, an acceleration/deceleration controlling apparatus is such that, in any one of the above paragraphs (20) to (22), the switching point is designated by a nondimensional parameter.
(24) According to a still further aspect of the present invention, an acceleration/deceleration controlling apparatus is such that, in the above paragraph (23), the parameter is a ratio with respect to the minimum quantity of motor movement.
(25) According to another aspect of the present invention, an acceleration/deceleration controlling apparatus is such that, in any one of the above paragraphs (18) and (24), the designated jerk control is provided for performing positioning of a subject of control while suppressing the vibration of the subject.
(26) According to an aspect of the present invention, A motor control apparatus is such that the motor control apparatus receives a position reference value supplied from the acceleration/deceleration control apparatus defined in any one of the above paragraphs (18) to (25) so as to control at least one motor in accordance with the position reference value.
According to the paragraphs (1), (9), (10), (18) and (26) the maximum absolute value of jerk value is limited to a small value so that the maximum absolute value is not larger than a predetermined value. Hence, vibration given to a mechanical system driven by the motor can be suppressed.
According to the paragraphs (2), (9), (11), (19) and (26), one of the designated jerk control and the designated acceleration control is switched over to the other in accordance with the commanded quantity of motor movement. Hence, a system in consideration of shortening of moving time and suppression of vibration can be constructed.
According to the paragraphs (3), (4), (9), (12), (13) (20), (21) and (26), the predetermined value in the designated jerk control is the maximum jerk value (the maximum of the absolute value of jerk) in the designated acceleration control at the switching point. Hence, when the commanded quantity of motor movement is changed continuously, the obtained velocity, acceleration and moving time change continuously. A natural operation is therefore obtained as a whole.
According to the paragraphs (5), (9), (14), (22) and (26), the switching point can be changed at user""s option. Hence, the optimum switching point can be set in accordance with the accuracy, the allowable range of vibration, etc. required for constructing the system.
According to the paragraphs (6), (7), (9), (15), (16), (23), (24) and (26), the switching point can be designated by a nondimensional parameter. Hence, the switching point can be set without considering the quantity of motor movement.
According to the paragraphs (8), (9), (17), (25) and (26), the designated jerk control can be performed. Hence, a subject of control can be positioned while vibration of the subject is suppressed.